"""
显示城市温度变化: 某城市11点到12点1小时内每分钟的温度变化折线图。温度范围在15~18摄氏度
"""
import random

from matplotlib import pyplot as plt

# 1、准备数据: x: 60分钟; y: 温度列表
x = range(60)
y_beijing = [random.uniform(15, 18) for i in x]
y_shanghai = [random.uniform(25, 28) for j in x]

# 2、绘制图像
plt.plot(x, y_beijing, color="r", linestyle="--", label="北京")
plt.plot(x, y_shanghai, color="b", label="上海")

# 显示图层，配合plt.plot方法的label属性使用
plt.legend(loc="lower center")

# 3、辅助显示层: 修改x、y轴的值: y轴的值从15~18调整为0~40，步长为5
x_label = ["11点{}分".format(i) for i in x]
plt.xticks(x[::10], x_label[::10])
plt.yticks(range(0, 40, 5))

# 4、辅助显示层: 增加网格显示
plt.grid(True, linestyle="--", alpha=0.5)

# 5、辅助显示层: 添加描述信息: x、y轴标签和标题信息
plt.xlabel('时间变化')
plt.ylabel('温度变化')

plt.title('城市温度变化图')

# 6、显示图像
plt.show()
